require 'default.rb'
require 'soap/mapping'

module DefaultMappingRegistry  #:nodoc: all
  EncodedRegistry = ::SOAP::Mapping::EncodedRegistry.new
  LiteralRegistry = ::SOAP::Mapping::LiteralRegistry.new
  NsProsperAPI = "https://services.prosper.com/ProsperAPI/"

  EncodedRegistry.register(
    :class => DefinitionResult,
    :schema_type => XSD::QName.new(NsProsperAPI, "DefinitionResult"),
    :schema_element => [
      ["success", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "Success")]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Message")], [0, 1]],
      ["definition", ["Definition", XSD::QName.new(NsProsperAPI, "Definition")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Definition,
    :schema_type => XSD::QName.new(NsProsperAPI, "Definition"),
    :schema_element => [
      ["object", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Object")], [0, 1]],
      ["version", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Version")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Description")], [0, 1]],
      ["fields", ["ArrayOfField", XSD::QName.new(NsProsperAPI, "Fields")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ArrayOfField,
    :schema_type => XSD::QName.new(NsProsperAPI, "ArrayOfField"),
    :schema_element => [
      ["field", ["Field[]", XSD::QName.new(NsProsperAPI, "Field")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => Field,
    :schema_type => XSD::QName.new(NsProsperAPI, "Field"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Name")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Label")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Type")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Description")], [0, 1]],
      ["isSearchable", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "IsSearchable")]],
      ["authenticated", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "Authenticated")]]
    ]
  )

  EncodedRegistry.register(
    :class => ProsperObjectResult,
    :schema_type => XSD::QName.new(NsProsperAPI, "ProsperObjectResult"),
    :schema_element => [
      ["success", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "Success")]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Message")], [0, 1]],
      ["prosperObjects", ["ArrayOfProsperObject", XSD::QName.new(NsProsperAPI, "ProsperObjects")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => ArrayOfProsperObject,
    :schema_type => XSD::QName.new(NsProsperAPI, "ArrayOfProsperObject"),
    :schema_element => [
      ["prosperObject", ["ProsperObject[]", XSD::QName.new(NsProsperAPI, "ProsperObject")], [0, nil]]
    ]
  )

  EncodedRegistry.register(
    :class => Loan,
    :schema_type => XSD::QName.new(NsProsperAPI, "Loan"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["ageInMonths", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "AgeInMonths")]],
      ["amountBorrowed", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "AmountBorrowed")]],
      ["borrowerRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BorrowerRate")]],
      ["creationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "CreationDate")]],
      ["creditGrade", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "CreditGrade")], [0, 1]],
      ["debtToIncomeRatio", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "DebtToIncomeRatio")]],
      ["groupKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "GroupKey")], [0, 1]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["lastModifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "LastModifiedDate")]],
      ["lenderRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "LenderRate")]],
      ["listingKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "ListingKey")], [0, 1]],
      ["loanOutcome", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "LoanOutcome")]],
      ["monthsPastDue", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "MonthsPastDue")]],
      ["originationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "OriginationDate")]],
      ["servicingStatus", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "ServicingStatus")]],
      ["term", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Term")]]
    ]
  )

  EncodedRegistry.register(
    :class => Listing,
    :schema_type => XSD::QName.new(NsProsperAPI, "Listing"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["amountDelinquent", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "AmountDelinquent")]],
      ["amountFunded", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "AmountFunded")]],
      ["amountRemaining", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "AmountRemaining")]],
      ["amountRequested", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "AmountRequested")]],
      ["bankcardUtilization", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BankcardUtilization")]],
      ["bidCount", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "BidCount")]],
      ["bidMaximumRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BidMaximumRate")]],
      ["borrowerAPR", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BorrowerAPR")]],
      ["borrowerMaximumRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BorrowerMaximumRate")]],
      ["borrowerRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BorrowerRate")]],
      ["borrowerState", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "BorrowerState")], [0, 1]],
      ["creationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "CreationDate")]],
      ["creditGrade", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "CreditGrade")]],
      ["currentCreditLines", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "CurrentCreditLines")]],
      ["debtToIncomeRatio", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "DebtToIncomeRatio")]],
      ["delinquenciesLast7Years", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "DelinquenciesLast7Years")]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Description")], [0, 1]],
      ["duration", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Duration")]],
      ["employmentStatus", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "EmploymentStatus")], [0, 1]],
      ["employmentStatusDuration", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "EmploymentStatusDuration")]],
      ["endDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "EndDate")]],
      ["firstRecordedCreditLine", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "FirstRecordedCreditLine")]],
      ["fundingOption", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "FundingOption")]],
      ["groupKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "GroupKey")], [0, 1]],
      ["groupLeaderRewardRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "GroupLeaderRewardRate")]],
      ["incomeRange", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "IncomeRange")], [0, 1]],
      ["inquiriesLast6Months", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "InquiriesLast6Months")]],
      ["isBankAccountVerified", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "IsBankAccountVerified")]],
      ["isBorrowerHomeowner", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "IsBorrowerHomeowner")]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["lastModifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "LastModifiedDate")]],
      ["listingNumber", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "ListingNumber")]],
      ["memberKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "MemberKey")], [0, 1]],
      ["nowDelinquent", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "NowDelinquent")]],
      ["occupation", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Occupation")], [0, 1]],
      ["openCreditLines", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "OpenCreditLines")]],
      ["percentFunded", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "PercentFunded")]],
      ["primaryImageURL", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "PrimaryImageURL")], [0, 1]],
      ["publicRecordsLast10Years", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "PublicRecordsLast10Years")]],
      ["publicRecordsLast12Months", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "PublicRecordsLast12Months")]],
      ["revolvingCreditBalance", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "RevolvingCreditBalance")]],
      ["startDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "StartDate")]],
      ["status", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Status")]],
      ["title", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Title")], [0, 1]],
      ["totalCreditLines", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "TotalCreditLines")]]
    ]
  )

  EncodedRegistry.register(
    :class => Group,
    :schema_type => XSD::QName.new(NsProsperAPI, "Group"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["approvalDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "ApprovalDate")]],
      ["city", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "City")], [0, 1]],
      ["creationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "CreationDate")]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Description")], [0, 1]],
      ["groupLeaderRewardPercentageOfBase", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "GroupLeaderRewardPercentageOfBase")]],
      ["groupRating", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "GroupRating")]],
      ["isAcceptingNewMembers", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "IsAcceptingNewMembers")]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["lastModifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "LastModifiedDate")]],
      ["listingReviewRequirement", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "ListingReviewRequirement")]],
      ["memberKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "MemberKey")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Name")], [0, 1]],
      ["shortDescription", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "ShortDescription")], [0, 1]],
      ["shortName", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "ShortName")], [0, 1]],
      ["state", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "State")], [0, 1]],
      ["status", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Status")]]
    ]
  )

  EncodedRegistry.register(
    :class => Member,
    :schema_type => XSD::QName.new(NsProsperAPI, "Member"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["creationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "CreationDate")]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Description")], [0, 1]],
      ["groupKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "GroupKey")], [0, 1]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["lastModifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "LastModifiedDate")]],
      ["roles", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Roles")]],
      ["screenName", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "ScreenName")], [0, 1]]
    ]
  )

  EncodedRegistry.register(
    :class => Marketplace,
    :schema_type => XSD::QName.new(NsProsperAPI, "Marketplace"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["featuredListings", ["ArrayOfProsperObject", XSD::QName.new(NsProsperAPI, "FeaturedListings")], [0, 1]],
      ["historicalInterestRatesTable", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "HistoricalInterestRatesTable")], [0, 1]],
      ["loanVolumeToDate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "LoanVolumeToDate")]],
      ["membersToDate", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "MembersToDate")]]
    ]
  )

  EncodedRegistry.register(
    :class => Bid,
    :schema_type => XSD::QName.new(NsProsperAPI, "Bid"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["amount", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "Amount")]],
      ["creationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "CreationDate")]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["lastModifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "LastModifiedDate")]],
      ["listingKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "ListingKey")], [0, 1]],
      ["memberKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "MemberKey")], [0, 1]],
      ["minimumRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "MinimumRate")]],
      ["participationAmount", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "ParticipationAmount")]],
      ["status", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Status")]]
    ]
  )

  EncodedRegistry.register(
    :class => LenderLoan,
    :schema_type => XSD::QName.new(NsProsperAPI, "LenderLoan"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["dPD", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "DPD")]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["principalBalance", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "PrincipalBalance")]],
      ["principalLoaned", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "PrincipalLoaned")]],
      ["principalRepaid", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "PrincipalRepaid")]]
    ]
  )

  LiteralRegistry.register(
    :class => DefinitionResult,
    :schema_type => XSD::QName.new(NsProsperAPI, "DefinitionResult"),
    :schema_element => [
      ["success", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "Success")]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Message")], [0, 1]],
      ["definition", ["Definition", XSD::QName.new(NsProsperAPI, "Definition")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Definition,
    :schema_type => XSD::QName.new(NsProsperAPI, "Definition"),
    :schema_element => [
      ["object", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Object")], [0, 1]],
      ["version", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Version")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Description")], [0, 1]],
      ["fields", ["ArrayOfField", XSD::QName.new(NsProsperAPI, "Fields")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ArrayOfField,
    :schema_type => XSD::QName.new(NsProsperAPI, "ArrayOfField"),
    :schema_element => [
      ["field", ["Field[]", XSD::QName.new(NsProsperAPI, "Field")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => Field,
    :schema_type => XSD::QName.new(NsProsperAPI, "Field"),
    :schema_element => [
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Name")], [0, 1]],
      ["label", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Label")], [0, 1]],
      ["type", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Type")], [0, 1]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Description")], [0, 1]],
      ["isSearchable", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "IsSearchable")]],
      ["authenticated", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "Authenticated")]]
    ]
  )

  LiteralRegistry.register(
    :class => ProsperObjectResult,
    :schema_type => XSD::QName.new(NsProsperAPI, "ProsperObjectResult"),
    :schema_element => [
      ["success", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "Success")]],
      ["message", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Message")], [0, 1]],
      ["prosperObjects", ["ArrayOfProsperObject", XSD::QName.new(NsProsperAPI, "ProsperObjects")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => ArrayOfProsperObject,
    :schema_type => XSD::QName.new(NsProsperAPI, "ArrayOfProsperObject"),
    :schema_element => [
      ["prosperObject", ["ProsperObject[]", XSD::QName.new(NsProsperAPI, "ProsperObject")], [0, nil]]
    ]
  )

  LiteralRegistry.register(
    :class => Loan,
    :schema_type => XSD::QName.new(NsProsperAPI, "Loan"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["ageInMonths", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "AgeInMonths")]],
      ["amountBorrowed", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "AmountBorrowed")]],
      ["borrowerRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BorrowerRate")]],
      ["creationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "CreationDate")]],
      ["creditGrade", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "CreditGrade")], [0, 1]],
      ["debtToIncomeRatio", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "DebtToIncomeRatio")]],
      ["groupKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "GroupKey")], [0, 1]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["lastModifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "LastModifiedDate")]],
      ["lenderRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "LenderRate")]],
      ["listingKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "ListingKey")], [0, 1]],
      ["loanOutcome", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "LoanOutcome")]],
      ["monthsPastDue", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "MonthsPastDue")]],
      ["originationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "OriginationDate")]],
      ["servicingStatus", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "ServicingStatus")]],
      ["term", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Term")]]
    ]
  )

  LiteralRegistry.register(
    :class => Listing,
    :schema_type => XSD::QName.new(NsProsperAPI, "Listing"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["amountDelinquent", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "AmountDelinquent")]],
      ["amountFunded", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "AmountFunded")]],
      ["amountRemaining", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "AmountRemaining")]],
      ["amountRequested", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "AmountRequested")]],
      ["bankcardUtilization", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BankcardUtilization")]],
      ["bidCount", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "BidCount")]],
      ["bidMaximumRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BidMaximumRate")]],
      ["borrowerAPR", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BorrowerAPR")]],
      ["borrowerMaximumRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BorrowerMaximumRate")]],
      ["borrowerRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "BorrowerRate")]],
      ["borrowerState", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "BorrowerState")], [0, 1]],
      ["creationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "CreationDate")]],
      ["creditGrade", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "CreditGrade")]],
      ["currentCreditLines", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "CurrentCreditLines")]],
      ["debtToIncomeRatio", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "DebtToIncomeRatio")]],
      ["delinquenciesLast7Years", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "DelinquenciesLast7Years")]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Description")], [0, 1]],
      ["duration", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Duration")]],
      ["employmentStatus", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "EmploymentStatus")], [0, 1]],
      ["employmentStatusDuration", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "EmploymentStatusDuration")]],
      ["endDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "EndDate")]],
      ["firstRecordedCreditLine", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "FirstRecordedCreditLine")]],
      ["fundingOption", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "FundingOption")]],
      ["groupKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "GroupKey")], [0, 1]],
      ["groupLeaderRewardRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "GroupLeaderRewardRate")]],
      ["incomeRange", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "IncomeRange")], [0, 1]],
      ["inquiriesLast6Months", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "InquiriesLast6Months")]],
      ["isBankAccountVerified", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "IsBankAccountVerified")]],
      ["isBorrowerHomeowner", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "IsBorrowerHomeowner")]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["lastModifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "LastModifiedDate")]],
      ["listingNumber", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "ListingNumber")]],
      ["memberKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "MemberKey")], [0, 1]],
      ["nowDelinquent", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "NowDelinquent")]],
      ["occupation", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Occupation")], [0, 1]],
      ["openCreditLines", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "OpenCreditLines")]],
      ["percentFunded", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "PercentFunded")]],
      ["primaryImageURL", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "PrimaryImageURL")], [0, 1]],
      ["publicRecordsLast10Years", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "PublicRecordsLast10Years")]],
      ["publicRecordsLast12Months", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "PublicRecordsLast12Months")]],
      ["revolvingCreditBalance", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "RevolvingCreditBalance")]],
      ["startDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "StartDate")]],
      ["status", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Status")]],
      ["title", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Title")], [0, 1]],
      ["totalCreditLines", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "TotalCreditLines")]]
    ]
  )

  LiteralRegistry.register(
    :class => Group,
    :schema_type => XSD::QName.new(NsProsperAPI, "Group"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["approvalDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "ApprovalDate")]],
      ["city", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "City")], [0, 1]],
      ["creationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "CreationDate")]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Description")], [0, 1]],
      ["groupLeaderRewardPercentageOfBase", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "GroupLeaderRewardPercentageOfBase")]],
      ["groupRating", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "GroupRating")]],
      ["isAcceptingNewMembers", ["SOAP::SOAPBoolean", XSD::QName.new(NsProsperAPI, "IsAcceptingNewMembers")]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["lastModifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "LastModifiedDate")]],
      ["listingReviewRequirement", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "ListingReviewRequirement")]],
      ["memberKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "MemberKey")], [0, 1]],
      ["name", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Name")], [0, 1]],
      ["shortDescription", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "ShortDescription")], [0, 1]],
      ["shortName", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "ShortName")], [0, 1]],
      ["state", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "State")], [0, 1]],
      ["status", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Status")]]
    ]
  )

  LiteralRegistry.register(
    :class => Member,
    :schema_type => XSD::QName.new(NsProsperAPI, "Member"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["creationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "CreationDate")]],
      ["description", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Description")], [0, 1]],
      ["groupKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "GroupKey")], [0, 1]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["lastModifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "LastModifiedDate")]],
      ["roles", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Roles")]],
      ["screenName", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "ScreenName")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Marketplace,
    :schema_type => XSD::QName.new(NsProsperAPI, "Marketplace"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["featuredListings", ["ArrayOfProsperObject", XSD::QName.new(NsProsperAPI, "FeaturedListings")], [0, 1]],
      ["historicalInterestRatesTable", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "HistoricalInterestRatesTable")], [0, 1]],
      ["loanVolumeToDate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "LoanVolumeToDate")]],
      ["membersToDate", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "MembersToDate")]]
    ]
  )

  LiteralRegistry.register(
    :class => Bid,
    :schema_type => XSD::QName.new(NsProsperAPI, "Bid"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["amount", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "Amount")]],
      ["creationDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "CreationDate")]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["lastModifiedDate", ["SOAP::SOAPDateTime", XSD::QName.new(NsProsperAPI, "LastModifiedDate")]],
      ["listingKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "ListingKey")], [0, 1]],
      ["memberKey", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "MemberKey")], [0, 1]],
      ["minimumRate", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "MinimumRate")]],
      ["participationAmount", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "ParticipationAmount")]],
      ["status", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "Status")]]
    ]
  )

  LiteralRegistry.register(
    :class => LenderLoan,
    :schema_type => XSD::QName.new(NsProsperAPI, "LenderLoan"),
    :schema_basetype => XSD::QName.new(NsProsperAPI, "ProsperObject"),
    :schema_element => [
      ["dPD", ["SOAP::SOAPInt", XSD::QName.new(NsProsperAPI, "DPD")]],
      ["key", ["SOAP::SOAPString", XSD::QName.new(NsProsperAPI, "Key")], [0, 1]],
      ["principalBalance", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "PrincipalBalance")]],
      ["principalLoaned", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "PrincipalLoaned")]],
      ["principalRepaid", ["SOAP::SOAPDecimal", XSD::QName.new(NsProsperAPI, "PrincipalRepaid")]]
    ]
  )

  LiteralRegistry.register(
    :class => Describe,
    :schema_name => XSD::QName.new(NsProsperAPI, "Describe"),
    :schema_element => [
      ["authenticationToken", "SOAP::SOAPString", [0, 1]],
      ["objectType", "SOAP::SOAPString", [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => DescribeResponse,
    :schema_name => XSD::QName.new(NsProsperAPI, "DescribeResponse"),
    :schema_element => [
      ["describeResult", ["DefinitionResult", XSD::QName.new(NsProsperAPI, "DescribeResult")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Login,
    :schema_name => XSD::QName.new(NsProsperAPI, "Login"),
    :schema_element => [
      ["email", "SOAP::SOAPString", [0, 1]],
      ["password", "SOAP::SOAPString", [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => LoginResponse,
    :schema_name => XSD::QName.new(NsProsperAPI, "LoginResponse"),
    :schema_element => [
      ["loginResult", ["DefinitionResult", XSD::QName.new(NsProsperAPI, "LoginResult")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Logout,
    :schema_name => XSD::QName.new(NsProsperAPI, "Logout"),
    :schema_element => [
      ["token", "SOAP::SOAPString", [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => LogoutResponse,
    :schema_name => XSD::QName.new(NsProsperAPI, "LogoutResponse"),
    :schema_element => [
      ["logoutResult", ["DefinitionResult", XSD::QName.new(NsProsperAPI, "LogoutResult")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Query,
    :schema_name => XSD::QName.new(NsProsperAPI, "Query"),
    :schema_element => [
      ["authenticationToken", "SOAP::SOAPString", [0, 1]],
      ["objectType", "SOAP::SOAPString", [0, 1]],
      ["fields", "SOAP::SOAPString", [0, 1]],
      ["conditionExpression", "SOAP::SOAPString", [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => QueryResponse,
    :schema_name => XSD::QName.new(NsProsperAPI, "QueryResponse"),
    :schema_element => [
      ["queryResult", ["ProsperObjectResult", XSD::QName.new(NsProsperAPI, "QueryResult")], [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => Retrieve,
    :schema_name => XSD::QName.new(NsProsperAPI, "Retrieve"),
    :schema_element => [
      ["authenticationToken", "SOAP::SOAPString", [0, 1]],
      ["objectType", "SOAP::SOAPString", [0, 1]],
      ["fields", "SOAP::SOAPString", [0, 1]],
      ["keys", "SOAP::SOAPString", [0, 1]]
    ]
  )

  LiteralRegistry.register(
    :class => RetrieveResponse,
    :schema_name => XSD::QName.new(NsProsperAPI, "RetrieveResponse"),
    :schema_element => [
      ["retrieveResult", ["ProsperObjectResult", XSD::QName.new(NsProsperAPI, "RetrieveResult")], [0, 1]]
    ]
  )
end
